#include <iostream>
using namespace std;

struct MyException
{
    MyException(string str) :msg(str) {}
    string msg;
};
void test() throw(int, MyException)  //表示可抛出的异常类型 没有任何参数则表示不允许抛异常
{
    throw 1.5;  //会报错

}
void func() noexcept(false)  //true表示不会抛出异常 false 表示会抛出异常
{
    throw MyException("string exception!");
}
int main()
{
    
    //捕捉异常
    try
    {   //test();
        func();
        throw 1;    //抛异常
    }
    catch (int e)
    {
        cout << e << endl;
    }
    catch (MyException e)
    {
        cout << e.msg << endl;
    }
    return 0;
}